namespace Creek.UI.EFML.Base.Controls
{
    using System.Drawing;
    using System.Windows.Forms;

    using Creek.UI.Effects;

    using EFML_Runtime.Internal.Base.JS.ScriptingTypes.Transitions;

    public class ControlStyle : IStyle
    {
        #region Fields

        private readonly Control c;

        #endregion

        #region Constructors and Destructors

        public ControlStyle(Control c)
        {
            this.c = c;
        }

        #endregion

        #region Public Properties

        public Size Size
        {
            get
            {
                return this.c.Size;
            }
            set
            {
                this.c.Size = value;
            }
        }

        public bool autosize
        {
            get
            {
                return this.c.AutoSize;
            }
            set
            {
                this.c.AutoSize = value;
            }
        }

        public Color backgroundcolor
        {
            get
            {
                return this.c.BackColor;
            }
            set
            {
                this.c.BackColor = value;
            }
        }

        public Font font
        {
            get
            {
                return this.c.Font;
            }
            set
            {
                this.c.Font = value;
            }
        }

        public Padding margin
        {
            get
            {
                return this.c.Margin;
            }
            set
            {
                this.c.Margin = value;
            }
        }

        public Padding padding
        {
            get
            {
                return this.c.Padding;
            }
            set
            {
                this.c.Padding = value;
            }
        }

        public Transition transition { get; set; }

        #endregion
    }
}